package com.seo.textgen.pos.tagger;

public class Token {

	private String token;

	private String tokenInLowerCase;

	private String tokenInProperCase;

	private String tag;

	public Token(String token, String tokenInLowerCase, String tag) {
		this.token = token;
		this.tokenInLowerCase = tokenInLowerCase;
		this.tag = tag;
	}

	public String getToken() {
		return token;
	}

	public void setToken(String word) {
		this.token = word;
	}

	public String getTokenInLowerCase() {
		return tokenInLowerCase;
	}

	public void setTokenInLowerCase(String tokenInLowerCase) {
		this.tokenInLowerCase = tokenInLowerCase;
	}

	public String getTokenInProperCase() {
		return tokenInProperCase;
	}

	public void setTokenInProperCase(String tokenInProperCase) {
		this.tokenInProperCase = tokenInProperCase;
	}

	public String getTag() {
		return tag;
	}

	public void setTag(String partOfSpeach) {
		this.tag = partOfSpeach;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((tokenInLowerCase == null) ? 0 : tokenInLowerCase.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Token other = (Token) obj;
		if (tokenInLowerCase == null) {
			if (other.tokenInLowerCase != null)
				return false;
		} else if (!tokenInLowerCase.equals(other.tokenInLowerCase))
			return false;
		return true;
	}

	@Override
	public String toString() {
		return token;
	}
}
